package com.project.mall.service;

import com.project.mall.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ServiceH {
    //*******************************************分类以及商品列表**********************************
    /**
     * 查询所有商品信息
     * @return
     */
    List<Goods> getAll();

    /**
     * 查询所有一级分类和二级分类  一对多展示
     */
    List<Secondtype> getAllFirAndSec();
    /**
     * 通过点击二级分类进入二级分类所有的商品列表页面
     */
    List<Goods> getGoodsListBySec(Integer secid);
    //*********************************首页商品展示***************************************
    /**
     * 通过一级类型id查询各类商品列表
     */
    List<Goods> getGoodListByFir(Integer firid);
    /**
     * 根据热度查询明星商品
     */
    List<Goods> getHotGoods();
    //**************************列表商品展示接口*************************

    /**
     * 通过一级id查询商品列表
     * @param firid
     * @return
     */
    List<Goods> getGoodsListByFirid(Integer firid);
    /**
     * 通过二级id查询商品列表
     */
    List<Goods> getGoodsListBySecname(Integer firid,String secname);
    /**
     * 搜素功能
     */
    List<Goods> searchGoods(String name);
    //******************************************************购物车订单模块****************************
    /**
     * 通过gid查询商品
     */
    Goods getGoodsBygid(Integer gid);
    /**
     * 通过gtypeid查询类型
     */
    Goodstype getTypeByid(Integer gtypeid);
    /**
     * 通过gcolorid查询颜色
     */
    Goodscolor getColorByid(Integer gcolorid);
    /**
     * 往购物车添加数据
     */
    int AddMesToShopcar(Shoppingcar shoppingcar);
    /**
     * 查询所有购物车信息
     */
    List<Shoppingcar> getAllShoppingcar(Integer userid);
    /**
     * 通过购物车id查询商品信息
     */
    List<Shoppingcar> getShoppingcarByid(Integer[] sid);
    /**
     * 购物车修改数量同步到数据库 根据购物车sid
     */
    int changeCount( Integer sid, Integer count);

    /**
     *
     * @return
     */
    int delcar(Integer sid);
    //添加建议
    boolean addSuggest(Feedback feedback);
    /**
     * 通过用户id获取收货地址
     */
    List<Address> getAddress(Integer userid);
}
